package com.server.userCenter;

import java.util.List;
import java.util.Map;

import org.springframework.web.bind.annotation.RequestParam;

import com.config.AppReturn;

public interface UserCenterService {

	
	
	
	/**
	 * 处理提现
	 * @param user
	 * @param type 1：小额提现-200，2：大额
	 * @return
	 */
	public AppReturn doTx(Map<String, Object> user,String type);
	
	/**
	 * 查询地址列表
	 * @param user
	 * @return
	 */
	public List<Map<String, Object>> getAddr(Map<String, Object> user);
	
	/**
	 * 增加收获地址
	 * @param user
	 * @param province
	 * @param city
	 * @param area
	 * @param addr
	 * @param phone
	 * @param name
	 * @return
	 */
	public AppReturn addAddr(Map<String, Object> user,String province,String city,String area,String addr,String phone,String name,String isdefault);
	
	/**
	 * 编辑收获地址
	 * @return
	 */
	public AppReturn editAddr(Map<String, Object> user,String id,String province,String city,String area,String addr,String phone,String name,String status,String isdefault);
	
	/**
	 * 设置默认地址
	 * @param user
	 * @param id
	 * @return
	 */
	public AppReturn setDefaultAddr(Map<String, Object> user,String id);
	
	/**
	 * 获取默认地址
	 * @param user
	 * @return
	 */
	public AppReturn getDefaultAddr(Map<String, Object> user);
	
	/**
	 * 获取默认地址,返回MAP
	 * @param user
	 * @return
	 */
	public Map<String, Object> getDefaultAddrMap(Map<String, Object> user);
	
	/**
	 * 查询订单
	 * @param user
	 * @param status
	 * @return
	 */
	public AppReturn getList(Map<String, Object> user,String status);
	/**
	 * 查询订单详情，包括商品信息
	 * @param user
	 * @param id
	 * @return
	 */
	public AppReturn getListDetail(Map<String, Object> user,String id);
	
	/**
	 * 取消订单
	 * @param user
	 * @param id
	 * @return
	 */
	public AppReturn cancelList(Map<String, Object> user,String id);
	

	/**
	 * 删除订单
	 * @param user
	 * @param id
	 * @return
	 */
	public AppReturn delList(Map<String, Object> user,String id);
	
	/**
	 * 查询用户礼券
	 * @param user
	 * @return
	 */
	public int countUserLQ(Map<String, Object> user);
	
	/**
	 * 根据条件查询礼券记录
	 * @param user
	 * @param reqData
	 * @return
	 */
	public List<Map<String, Object>> getLQLog(Map<String, Object> user,Map<String, Object> reqData);
	
	
	/**
	 * 查询艾豆明显
	 * @param user
	 * @param reqData
	 * @return
	 */
	public List<Map<String, Object>> getADList(Map<String, Object> user,Map<String, Object> reqData);
	
	/**
	 * 查询艾豆分红
	 * @param user
	 * @param reqData
	 * @return
	 */
	public List<Map<String, Object>> getADAmount(Map<String, Object> user,Map<String, Object> reqData);
	
	/**
	 * 实名制
	 * @param user
	 * @param realname
	 * @param cardcode
	 * @return
	 */
	public AppReturn realname(Map<String, Object> user,String realname,String cardcode);
	
	/**
	 * 查询交易记录
	 * @param user
	 * @return
	 */
	public List<Map<String, Object>> getAmountLog(Map<String, Object> user);
	
	/**
	 * 查询我的会员
	 * @param user
	 * @return
	 */
	public List<Map<String, Object>> myMember(Map<String, Object> user);
	
	/**
	 * 根据推荐码或手机号查询用户
	 * @param serchStr
	 * @return
	 */
	public AppReturn getUserByCP(String serchStr);
	
	
	/**
	 * 转账
	 * @param user
	 * @param targetCode
	 * @param amount
	 * @param pwd
	 * @return
	 */
	public AppReturn transferAmount(Map<String, Object> user,String reciveId,String amount,String pwd);
	/**
	 * 根据订单ID，返回支付信息
	 * @param user
	 * @param listid
	 * @param paytype
	 * @param type 1:余额支付，2：购物金支付
	 * @return
	 */
	public AppReturn payOffLine(Map<String, Object> user,String listid,String pwd,String type);
	
	/**
	 * 更新密码
	 * @param user
	 * @param oldpwd
	 * @param newpwd
	 * @return
	 */
	public AppReturn changePWD(Map<String, Object> user,String oldpwd,String newpwd);
	
	/**
	 * 更新支付密码
	 * @param user
	 * @param oldpwd
	 * @param newpwd
	 * @return
	 */
	public AppReturn changePWD_pay(Map<String, Object> user,String oldpwd,String newpwd);
	
	/**
	 * 更新用户名称或头像
	 * @param user
	 * @param realName
	 * @param head
	 * @return
	 */
	public AppReturn editUser(Map<String, Object> user,String realName,String head,String phone);
	
	/**
	 * 提现
	 */
	public AppReturn cashOut(Map<String, Object> user,String amount,String username,String cardCode,String bank);
	
	/**
	 * 查询累计提现金额
	 * @param user
	 * @return
	 */
	public double countCashLog(Map<String, Object> user);
	
	/**
	 * 查询提现记录
	 * @param user
	 * @return
	 */
	public List<Map<String, Object>> getCashLog(Map<String, Object> user);
	
	
	
	/**
	 * 查询我的数据
	 * @param user
	 * @return
	 */
	public Map<String, Object> getMyData(Map<String, Object> user);

	/**
	 * 查询个人中心首页数据
	 * @param user
	 * @return
	 */
	public Map<String, Object> getMyUcData(Map<String, Object> user);
	

	/**
	 * 查询加盟记录
	 * @param user
	 * @return
	 */
	public AppReturn getShopJoinLog(Map<String, Object> user);
	
	/**
	 * 取消加盟记录
	 * @param user
	 * @param id
	 * @return
	 */
	public AppReturn cancelShopJoin(Map<String, Object> user,int id);
	
	/**
	 * 退出登录
	 * @param user
	 * @return
	 */
	public AppReturn goLogOff(Map<String, Object> user);
	
}
